package javaTeste.tMetodo;

import java.Metodo;
import java.atributo.TiposPrimitivos;
import java.parametro.Parametro;

import junit.framework.Assert;

import org.junit.Before;
import org.junit.Test;


public class TesteMetodoSemCorpoPassandoParametros implements Especificacao {
	Metodo agua=null;		
	@Before
	public void up(){
		agua= new Metodo("agua");
	}
	@Test
	public void metodoAgua() {
		Assert.assertEquals("void agua(){}", agua.codigoFonte());
	}
	@Test
	public void metodoAguaComParametrosINTa_String_b() {
		agua.addParametro(new Parametro(TiposPrimitivos.INT,"a"));
		agua.addParametro(new Parametro(TiposPrimitivos.STRING,"b"));
		Assert.assertEquals("void agua(int a, String b){}", agua.codigoFonte());
		
	}
	@Test
	public void metodoAguaComRetornoINTParametrosINTa_String_b() {
		agua.addParametro(new Parametro(TiposPrimitivos.INT,"a"));
		agua.addParametro(new Parametro(TiposPrimitivos.STRING,"b"));
		agua.setTipoRetorno(TiposPrimitivos.INT);
		Assert.assertEquals("int agua(int a, String b){}", agua.codigoFonte());
	}
	@Test
	public void metodoAguaComRetornoVoid() {
		Assert.assertEquals("void agua(){}", agua.codigoFonte());
		
	}

	public void metodoSTATICOAguaComRetornoINTParametrosINTa_String_b() {
		agua.addParametro(new Parametro(TiposPrimitivos.INT,"a"));
		agua.addParametro(new Parametro(TiposPrimitivos.STRING,"b"));
		agua.setTipoRetorno(TiposPrimitivos.INT);
		agua.isStatico(true);
		Assert.assertEquals("static int agua(int a, String b){}", agua.codigoFonte());	
	}
	
	
}
